package com.dragon.pear.modules.trade.web.model.results;

import io.swagger.v3.oas.annotations.media.Schema;

/**
 * @author Chris Chan
 * Create on 2025-09-30 22:06
 * Use for: 商品分类 请求响应结果
 * Explain:
 * 
 */
@Schema(description = "商品分类 请求响应结果")
public class TradeGoodsCategoryResult {
    @Schema(description = "ID", example = "1")
    private long id;
    @Schema(description = "分类编码", example = "1")
    private long code;
    @Schema(description = "父级分类编码 为0则为顶级分类", example = "1")
    private long parentCode;
    @Schema(description = "分类层级", example = "1")
    private int level;
    @Schema(description = "分类名称", example = "字符串")
    private String name;
    @Schema(description = "分类图标", example = "字符串")
    private String icon;
    @Schema(description = "分类图片", example = "字符串")
    private String img;
    @Schema(description = "数据状态 0 正常 1 删除", example = "1")
    private int status;

    // 无参构造方法
    public TradeGoodsCategoryResult() {
    }

    // 全参数构造方法
    public TradeGoodsCategoryResult(long id, long code, long parentCode, int level, String name, String icon, String img, int status) {
        this.id = id;
        this.code = code;
        this.parentCode = parentCode;
        this.level = level;
        this.name = name;
        this.icon = icon;
        this.img = img;
        this.status = status;
    }

    // 全参数create生成器
    public static TradeGoodsCategoryResult create(long id, long code, long parentCode, int level, String name, String icon, String img, int status) {
        return new TradeGoodsCategoryResult(id, code, parentCode, level, name, icon, img, status);
    }

    // 全参数of生成器
    public static TradeGoodsCategoryResult of(long id, long code, long parentCode, int level, String name, String icon, String img, int status) {
        return new TradeGoodsCategoryResult(id, code, parentCode, level, name, icon, img, status);
    }
    // region Getter和Setter方法
    public long getId() {
        return id;
    }

    public TradeGoodsCategoryResult setId(long id) {
        this.id = id;
        return this;
    }

    public long getCode() {
        return code;
    }

    public TradeGoodsCategoryResult setCode(long code) {
        this.code = code;
        return this;
    }

    public long getParentCode() {
        return parentCode;
    }

    public TradeGoodsCategoryResult setParentCode(long parentCode) {
        this.parentCode = parentCode;
        return this;
    }

    public int getLevel() {
        return level;
    }

    public TradeGoodsCategoryResult setLevel(int level) {
        this.level = level;
        return this;
    }

    public String getName() {
        return name;
    }

    public TradeGoodsCategoryResult setName(String name) {
        this.name = name;
        return this;
    }

    public String getIcon() {
        return icon;
    }

    public TradeGoodsCategoryResult setIcon(String icon) {
        this.icon = icon;
        return this;
    }

    public String getImg() {
        return img;
    }

    public TradeGoodsCategoryResult setImg(String img) {
        this.img = img;
        return this;
    }

    public int getStatus() {
        return status;
    }

    public TradeGoodsCategoryResult setStatus(int status) {
        this.status = status;
        return this;
    }

    // endregion Getter和Setter方法
}
